using AiQiuQuan.Sport.Model.Enums;

namespace AiQiuQuan.Sport.WebApi.Entities
{
    /// <summary>
    /// 转账单
    /// </summary>
    public class TransferAccountOrder : BaseEntity
    {
        /// <summary>
        /// 业务类型：1场馆场地订单、5活动订单、6约球订单、10比赛订单
        /// </summary>
        public BusinessTypeEnum BusinessType { get; set; }

        /// <summary>
        /// 转账方式：1微信零钱、2支付宝零钱
        /// </summary>
        public TransferTypeEnum TransferType { get; set; }

        /// <summary>
        /// 业务ID
        /// </summary>
        public Guid BusinessId { get; set; }

        /// <summary>
        /// 转账批次号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 转账明细批次号
        /// </summary>
        public string DetailNo { get; set; }

        /// <summary>
        /// 第三方转账ID
        /// </summary>
        public string? ThirdTransferId { get; set; }

        /// <summary>
        /// 转账ID
        /// </summary>
        public string AccountId { get; set; }

        /// <summary>
        /// 转账姓名
        /// </summary>
        public string AccountName { get; set; }

        /// <summary>
        /// 申请转账用户ID
        /// </summary>
        public Guid UserId { get; set; }

        /// <summary>
        /// 单次转账金额
        /// </summary>
        public decimal Amount { get; set; }

        /// <summary>
        /// 服务费
        /// </summary>
        public decimal ServiceChargeAmount { get; set; }

        /// <summary>
        /// 转账状态：1转账中、2转账成功、3转账失败
        /// </summary>
        public TransferStateEnum State { get; set; }

        /// <summary>
        /// 转账备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 转账失败备注
        /// </summary>
        public string? FaildRemark { get; set; }
    }
}
